]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
xdnd: Don't wait for the stage to be disabled when it is already visible
authorAdel Gadllah <adel.gadllah@gmail.com>
Fri, 22 Feb 2013 18:26:17 +0000 (19:26 +0100)
committerAdel Gadllah <adel.gadllah@gmail.com>
Fri, 22 Feb 2013 18:37:40 +0000 (19:37 +0100)
xdndHandler used to wait for the stage to show up before calling
global.init_xdnd() . Since commit 65303d027aa8 xdndHandler is initalized
later so the stage might be already visible at this point causing the
show signal never to be emitted and thus global.init_xdnd will never
be called.

Fix that by checking by calling global.init_xdnd without waiting for
the stage's show signal to be emitted, as the stage is guaranted to be
visible at this point.

js/ui/xdndHandler.js

index ee523358d8103a57e0911dd8215d5acae542ceca..a662b44d496d38131e5ecf67d013161f75e34ded 100644 (file)
@@ -21,14 +21,7 @@ const XdndHandler = new Lang.Class({
         Shell.util_set_hidden_from_pick(this._dummy, true);
         this._dummy.hide();
 
-        // Mutter delays the creation of the output window as long
-        // as possible to avoid flicker. In case a plugin wants to
-        // access it directly it has to connect to the stage's show
-        // signal. (see comment in compositor.c:meta_compositor_manage_screen)
-        global.stage.connect('show', function () {
-                                        global.init_xdnd();
-                                        return false;
-                                      });
+        global.init_xdnd();
 
         global.connect('xdnd-enter', Lang.bind(this, this._onEnter));
         global.connect('xdnd-position-changed', Lang.bind(this, this._onPositionChanged));